package org.jeecgframework.web.material.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

/**   
 * @Description: 资金流
 * @date 2015-08-17 10:01:47
 * @version V1.0   
 *
 */
@Entity
@Table(name = "flow", schema = "")
@SuppressWarnings("serial")
public class FlowEntity implements java.io.Serializable {
	//主键ID
	private java.lang.String id;
	//订单id
	private java.lang.String orderId;
	//已支付金额
	private java.lang.Double paid;
	//未付款金额
	private java.lang.Double notPaid;
	//总收入
	private java.lang.Double total;
	//付款进度
	private java.lang.String paidProgress;
	//支出
	private java.lang.Double payOut;
	//公司
	private CompanyEntity companyId;
	//备注
	private java.lang.String remark;
	
	
	
	/**
	 *get方法: 取得主键ID
	 */
	@Id
	@GeneratedValue(generator = "paymentableGenerator")
	@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
	@Column(name ="ID",nullable=false,length=32)
	public java.lang.String getId(){
		return this.id;
	}

	/**
	 *set方法: 设置主键ID
	 */
	public void setId(java.lang.String id){
		this.id = id;
	}

	@Column(name ="ORDER_ID")
	public java.lang.String getOrderId() {
		return orderId;
	}

	public void setOrderId(java.lang.String orderId) {
		this.orderId = orderId;
	}

	@Column(name ="PAID")
	public java.lang.Double getPaid() {
		return paid;
	}

	public void setPaid(java.lang.Double paid) {
		this.paid = paid;
	}

	@Column(name ="NOT_PAID")
	public java.lang.Double getNotPaid() {
		return notPaid;
	}

	public void setNotPaid(java.lang.Double notPaid) {
		this.notPaid = notPaid;
	}

	@Column(name ="TOTAL")
	public java.lang.Double getTotal() {
		return total;
	}

	public void setTotal(java.lang.Double total) {
		this.total = total;
	}

	@Column(name ="PAID_PROGRESS")
	public java.lang.String getPaidProgress() {
		return paidProgress;
	}

	public void setPaidProgress(java.lang.String paidProgress) {
		this.paidProgress = paidProgress;
	}

	@Column(name ="PAY_OUT")
	public java.lang.Double getPayOut() {
		return payOut;
	}

	public void setPayOut(java.lang.Double payOut) {
		this.payOut = payOut;
	}

	@OneToOne(fetch=FetchType.EAGER)
	@JoinColumn(name ="COMPANY_ID")
	public CompanyEntity getCompanyId() {
		return companyId;
	}

	public void setCompanyId(CompanyEntity companyId) {
		this.companyId = companyId;
	}

	@Column(name ="REMARK")
	public java.lang.String getRemark() {
		return remark;
	}

	public void setRemark(java.lang.String remark) {
		this.remark = remark;
	}
	
	
}
